/*
 * G4_CAT1.c
 *
 *  Created on: Jul 23, 2024
 *      Author: yuxua
 */
/*
*4G 不用配置参数 是基于阿里云
*/
#include <G4_CAT1.h>
#if G4_CAT1
#include "usart.h"
#include <string.h>
#include <stdio.h>
#include "bsp_uart.h"
#include "crc16.h"
#include "stm32f4xx_it.h"


//设备参数初始化(具体设备参数见NB_IOT.h定义)
//_G4_CAT1 _G4_CAT1=
//{
//	.clientID = G4_clientID,			//塔石DTU云连接
//	.username = G4_username,       				//透传云模式使能
//	.MQTT_password = G4_MQTT_password, 				//设备ID
//	.service_IP = G4_service_IP,	//设备密码
//	.MQTT_topic_get = G4_MQTT_topic_get,					//通道号
//	.MQTT_topic_update = G4_MQTT_topic_updata					//通道号
//};


//发送采集数据指令
//在收到数据之后 再发下一条指令
void G4_send(void)
{
	if ((g4cat1_rx_flag == 1) && (g4cat1_rx_len > 7) && (timer_count < 50))
	{
		G4_receivedate(g4cat1_rx_buffer,g4cat1_rx_len);//数据检查
		g4cat1_rx_flag = 0;//标志位清一下
		timer_count=0;
	}
	//读取温湿度
	uint8_t data_cmd[]={0x01,0x03,0x00,0x00,0x00,0x02,0xC4,0x0B};
	Send_Data(&huart2,(uint8_t*)data_cmd,sizeof(data_cmd));
	timer_count=1;
	//Send_Data(&huart3,(uint8_t*)data_cmd,strlen(data_cmd));//数据发回网关
//	if(g4cat1_rx_flag)//收到返回的数据
//	{
//		g4cat1_rx_flag = 0;//标志位清一下
//		G4_receivedate(g4cat1_rx_buffer,g4cat1_rx_len);//数据检查
//	}
}

//数据发回网关
//暂时不校验
void G4_receivedate(uint8_t *rx_data,uint8_t len)
{
	if((rx_data[0]==0x01)&&(rx_data[1]==0x03))//modbus地址01，功能码03
	{
		rx_data[0]=0x07;//数据头
		Send_Data(&huart3, rx_data, len);//数据发回网关
	}

}


#endif

